﻿namespace Lite.Common
{
    /// <summary>
    /// The list of possible states for an IStartHalt or IStartHaltPauseResume
    /// instance.
    /// </summary>
    public enum StartHaltState
    {
        /// <summary>
        /// The instance is started and running.
        /// </summary>
        Started,

        /// <summary>
        /// The instance has paused and will do no further work until resumed.
        /// </summary>
        Paused,

        /// <summary>
        /// The instance has been told to stop but still has work to process
        /// before it can do so.
        /// </summary>
        Halting,

        /// <summary>
        /// The instance has completely stopped and entered an idle state.
        /// </summary>
        Halted
    }
}
